blob: a20e0533fcfc1ed2c9940021ab65ef2967f16856 [file] [log] [blame]
Junio C Hamano1a4e8412005-12-27 08:17:231git-daemon(1)
2=============
3
4NAME
5----
6git-daemon - A really simple server for git repositories.
7
8SYNOPSIS
9--------
Junio C Hamano235a91e2006-01-07 01:13:5810[verse]
Junio C Hamano1a4e8412005-12-27 08:17:2311'git-daemon' [--verbose] [--syslog] [--inetd | --port=n] [--export-all]
Junio C Hamano4d04a402006-01-09 00:53:2812 [--timeout=n] [--init-timeout=n] [--strict-paths]
13 [--base-path=path] [directory...]
Junio C Hamano1a4e8412005-12-27 08:17:2314
15DESCRIPTION
16-----------
17A really simple TCP git daemon that normally listens on port "DEFAULT_GIT_PORT"
18aka 9418. It waits for a connection, and will just execute "git-upload-pack"
19when it gets one.
20
21It's careful in that there's a magic request-line that gives the command and
22what directory to upload, and it verifies that the directory is ok.
23
24It verifies that the directory has the magic file "git-daemon-export-ok", and
25it will refuse to export any git directory that hasn't explicitly been marked
26for export this way (unless the '--export-all' parameter is specified). If you
27pass some directory paths as 'git-daemon' arguments, you can further restrict
28the offers to a whitelist comprising of those.
29
30This is ideally suited for read-only updates, ie pulling from git repositories.
31
32OPTIONS
33-------
34--strict-paths::
35Match paths exactly (i.e. don't allow "/foo/repo" when the real path is
36"/foo/repo.git" or "/foo/repo/.git") and don't do user-relative paths.
37git-daemon will refuse to start when this option is enabled and no
38whitelist is specified.
39
Junio C Hamano4d04a402006-01-09 00:53:2840--base-path::
41Remap all the path requests as relative to the given path.
42This is sort of "GIT root" - if you run git-daemon with
43'--base-path=/srv/git' on example.com, then if you later try to pull
44'git://example.com/hello.git', `git-daemon` will interpret the path
45as '/srv/git/hello.git'. Home directories (the '~login' notation)
46access is disabled.
47
Junio C Hamano1a4e8412005-12-27 08:17:2348--export-all::
49Allow pulling from all directories that look like GIT repositories
50(have the 'objects' and 'refs' subdirectories), even if they
51do not have the 'git-daemon-export-ok' file.
52
53--inetd::
54Have the server run as an inetd service. Implies --syslog.
55
56--port::
57Listen on an alternative port.
58
59--init-timeout::
60Timeout between the moment the connection is established and the
61client request is received (typically a rather low value, since
62that should be basically immediate).
63
64--timeout::
65Timeout for specific client sub-requests. This includes the time
66it takes for the server to process the sub-request and time spent
67waiting for next client's request.
68
69--syslog::
70Log to syslog instead of stderr. Note that this option does not imply
71--verbose, thus by default only error conditions will be logged.
72
73--verbose::
74Log details about the incoming connections and requested files.
75
76<directory>::
77A directory to add to the whitelist of allowed directories. Unless
78--strict-paths is specified this will also include subdirectories
79of each named directory.
80
81Author
82------
83Written by Linus Torvalds <torvalds@osdl.org>, YOSHIFUJI Hideaki
84<yoshfuji@linux-ipv6.org> and the git-list <git@vger.kernel.org>
85
86Documentation
87--------------
88Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
89
90GIT
91---
92Part of the gitlink:git[7] suite
93